user (
	id,
	name VARCHAR NOT NULL UNIQUE,
	sha512_password BLOB NULL % only for system admins
	admin BOOLEAN NOT NULL
);

key (
	id,
	name VARCHAR NOT NULL UNIQUE,
	fingerprint VARCHAR NOT NULL UNIQUE
);

key_access (
	id,
	key_id NOT NULL REFERENCES key(id),
	user_id NOT NULL REFERENCES user(id),
	encrypted_passphrase BLOB NOT NULL % created using gpg --symmetric
	key_admin BOOLEAN NOT NULL,
	CONSTRAINT UNIQUE (key_id, user_id)
);

server configuration:
* NSS database directory
* bridge address, port
  ? server port to be checked by bridge?
* bridge CA
  ? bridge certificate?
* client CA
* server certificate/key
  ? handle passphrase on boot?
* log file
  ? support rotation? don't interfere with rotation?
* log host, port
  ? what mechanism?

bridge configuration:
* server CA
  ? server address, port for checking?
  ? server certificate?
* client CA
* FAS path
* FAS group for key server users
* log file

client configuration:
* bridge CA
* server CA
  ? server certificate?
* bridge host,port
